The present invention relates to an apparatus and a method for compressing animation data as computer graphics (hereinafter referred to as CG) data, and a network server using the compression apparatus.
In recent years, as the Internet has become widespread and the performance of personal computers (PC) has been enhanced, three-dimensional (3D) CG has been widely used on the Internet. As a standard language for 3D CG, VRML (Virtual Reality Modeling Language) 97 has already been standardized by ISO (International Standard Organization). Under the present circumstances, however, as the contents become more complex, the data size also increases. Accordingly, it takes much time to transmit 3D CG data on a narrow-band network.
In order to solve this problem, compression of 3D CG data is carried out, and this is a very important technology, especially when distributing 3D CG data on a network such as the Internet, by which the data transmission time is reduced and, moreover, real-time distribution is realized by setting the rate of animation playback (data quantity per unit time) lower than the transmission bandwidth.
3D CG data can be roughly divided into shape data describing a three-dimensional space and animation data describing a motion. In order to compress the shape data, a method of reducing the number of polygons which defines a space is generally used.
On the other hand, the animation data has a time axis, and it is generally represented as keyframe data. In a conventional apparatus or method for compressing animation data, the number of data is reduced by simply thinning out the keyframe data on the time axis, thereby compressing the data.
When distributing 3D CG data on a network such as the Internet, however, the above-mentioned simple compression method cannot realize real-time transmission/reception of animation data without degrading smooth motion of animation scene, on a narrow-band network such as a telephone line.
The present invention is made to solve the above-described problems and has for its object to provide an animation data compression apparatus and an animation data compression method, by which animation data of complicated CG contents can be transmitted in real time without degrading the smoothness of animation scene even on a narrow-band network such as a telephone line.
Another object of the present invention is to provide a network server using the above-described animation data compression apparatus.
Other objects and advantages of the invention will become apparent from the detailed description that follows. The detailed description and specific embodiments described are provided only for illustration since various additions and modifications within the scope of the invention will be apparent to those of skill in the art from the detailed description.
According to a first aspect of the present invention, an animation data compression apparatus comprises an animation data classification unit for classifying input data into plural kinds of animation data; an animation data priority determination unit for determining priorities on the plural kinds of animation data; and an animation data compression unit for compressing the plural kinds of animation data, on the basis of the priorities determined by the animation data priority determination unit. Therefore, even on a narrow-band network such as a telephone line, animation data can be transmitted in real time without degrading smoothness of animation scene.
According to a second aspect of the present invention, in the animation data compression apparatus of the first aspect, the animation data compression unit compresses the plural kinds of animation data, at their respective compression ratios, on the basis of the determined priorities. Thereby, the compression ratio of data having relatively low priority (i.e., not very important data) is increased, and the compression ratio of data having relatively high priority (i.e., important data) is reduced. Therefore, animation data can be compressed without degrading smoothness of animation scene, and distributed in real time.
According to a third aspect of the present invention, in the animation data compression apparatus of the first aspect, the input data includes data representing an animation scene of three-dimensional CG.
According to a fourth aspect of the present invention, in the animation data compression apparatus of the first aspect, the input data includes multidimensional stream data.
According to a fifth aspect of the present invention, in the animation data compression apparatus of the fourth aspect, the animation data priority determination unit determines a priority for each of data packets of the multidimensional stream data. Therefore, even when processing data whose priorities change considerably, these data can be compressed without degrading smoothness of animation scene, and transmitted in real time.
According to a sixth aspect of the present invention, in the animation data compression apparatus of the first aspect, the input data includes multidimensional stream data representing an animation scene of three-dimensional CG.
According to a seventh aspect of the present invention, in the animation data compression apparatus of the first aspect, the animation data priority determination unit determines the priorities on the basis of the hierarchical structure of a CG scene. Thereby, in each object, a highest priority is assigned to the most important part, and the priority is decreased with distance from the most important part. Therefore, animation data can be compressed without degrading smoothness of relatively important part of animation scene.
According to an eighth aspect of the present invention, in the animation data compression apparatus of the third aspect, the animation data priority determination unit determines the priorities on the basis of the positional relationship between a viewpoint and CG objects. Thereby, the highest priority is assigned to a CG object closest to the viewpoint, and the priority is decreased with distance from the viewpoint. Therefore, animation data can be compressed without degrading smoothness of animation scene corresponding to CG objects close to the viewpoint.
According to a ninth aspect of the present invention, in the animation data compression apparatus of the first aspect, the animation data priority determination unit determines the priorities on the basis of the amounts of change in CG objects per unit time. Thereby, the highest priority is assigned to a channel having the largest amount of change per unit time, and the priority is decreased as the amount of change per unit time decreases. Therefore, animation data can be compressed without degrading smoothness of animation scene corresponding to CG objects having relatively large amounts of change.
According to a tenth aspect of the present invention, in the animation data compression apparatus of the first aspect, the animation data priority determination unit determines intermediate priorities, based on each of at least two of (1) the hierarchical structure of a CG scene, (2) the positional relationship between a viewpoint and CG objects, and (3) the amounts of change in CG objects per unit time, and performs weighted addition of the respective intermediate priorities to determine final priorities. Thereby, more appropriate priorities can be obtained, and animation data can be compressed without degrading smoothness of important regions or objects in animation scene.
According to an eleventh aspect of the present invention, a network server for distributing CG contents including animation data, said network server having the animation data compression apparatus of Claim 1, compressing animation data by using the animation data compression apparatus, and distributing the compressed animation data. Therefore, even when the bit rate for transmitting animation data as stream data is larger than the transmission bandwidth, since the animation data is compressed, the animation data can be distributed in real time without overflow of data. Further, the data can be compressed without degrading smooth motion of animation scene.